Coloring, a versatile technique for implementing object-oriented languages
نویسنده
چکیده
Late binding and subtyping create run-time overhead for object-oriented languages. Dynamic typing and multiple inheritance create even more overhead. Static typing and single inheritance lead to two major invariants—of reference and position—that make the implementation as efficient as possible. Coloring is a technique that preserves these invariants for dynamic typing or multiple inheritance at minimal spatial cost. Coloring has been introduced and applied, more or less independently, to method invocation—under the name of selector coloring—to subtype tests under the name of pack encoding and to attribute access. This paper reviews a number of uses of coloring for optimizing object-oriented programming and generalizes them. It specifies several variations of coloring, such as bidirectional coloring and n-dimensional coloring. Coloring is NP-hard, so compilers that use it depend on heuristics. The paper describes some experimental results which indicate that bidirectional coloring gives the best results.
منابع مشابه
A First Implementation of Modular Smalltalk
A "first" implementation of the Modular Smalltalk object-oriented programming language is presented. The implementation includes an object-oriented parser, object-oriented representation for code fragments and an object-oriented C-code generator, all implemented in Smalltalk-80. This implementation validates two of the five design principles of the Modular Smalltalk language and provides a vehi...
متن کاملIrregular data-parallelism in a parallel object-oriented language by means of Collective Replication
In parallel object-oriented languages it is hard to elegantly express efficient data-parallel operations on objects of an irregularly-shaped object structure that is spread across the parallel computing environment. This paper presents a new programming model that smoothly integrates both task and data parallelism in a distributed object-oriented context. So called Collective Replication combin...
متن کاملImplementing Coordinated Exception Handling for Distributed Object-Oriented Systems with AspectJ
Exception handling is a very popular technique for incorporating fault tolerance into software systems. However, its use for structuring concurrent, distributed systems is hindered by the fact that the exception handling models of many mainstream object-oriented programming languages are sequential. In this paper we present an aspect-based framework for incorporating concurrent exception handli...
متن کاملImplementing Coordinated Error Recovery for Distributed Object-Oriented Systems with AspectJ
Exception handling is a very popular technique for incorporating fault tolerance into software systems. However, its use for structuring concurrent, distributed systems is hindered by the fact that the exception handling models of many mainstream object-oriented programming languages are sequential. In this paper we present an aspect-based framework for incorporating concurrent exception handli...
متن کاملObject-Oriented Method for Automatic Extraction of Road from High Resolution Satellite Images
As the information carried in a high spatial resolution image is not represented by single pixels but by meaningful image objects, which include the association of multiple pixels and their mutual relations, the object based method has become one of the most commonly used strategies for the processing of high resolution imagery. This processing comprises two fundamental and critical steps towar...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw., Pract. Exper.
دوره 41 شماره
صفحات -
تاریخ انتشار 2011